package org.cytoscape.myapp.cytoscape_app_v1.internal.UI;


import org.cytoscape.myapp.cytoscape_app_v1.internal.UI.Constants.Priority;
import org.cytoscape.myapp.cytoscape_app_v1.internal.grupos.factories.ConcreteClasificadorOr;
import org.cytoscape.myapp.cytoscape_app_v1.internal.grupos.factories.ConcreteClasificadorXor;
import org.cytoscape.myapp.cytoscape_app_v1.internal.grupos.factories.ConcreteClasificadorXorBest;
import org.cytoscape.myapp.cytoscape_app_v1.internal.grupos.factories.ConcreteComparadorOr;
import org.cytoscape.myapp.cytoscape_app_v1.internal.grupos.factories.FactoryClasificador;
import org.cytoscape.myapp.cytoscape_app_v1.internal.grupos.factories.FactoryComparador;

public class GroupsInfo {
	
	private FactoryClasificador clasificador;
	private FactoryComparador comparadorAnidacion =  new ConcreteComparadorOr();
	private String attribute;
	
	public GroupsInfo(String attribute, Priority prioridad){
			
		switch (prioridad){
			case Xor:{
					this.setClasificador(new ConcreteClasificadorXor());
			}
			break;
			case OR:{
					this.setClasificador(new ConcreteClasificadorOr());
			}
			break;
			case XorBest:{
					this.setClasificador(new ConcreteClasificadorXorBest());
			}
			break;
			default:
				break;
		}
		
		this.setAttribute(attribute);
	}

	/**
	 * @return the attribute
	 */
	public String getAttribute() {
		return attribute;
	}

	/**
	 * @param attribute the attribute to set
	 */
	public void setAttribute(String attribute) {
		this.attribute = attribute;
	}

	/**
	 * @return the clasificador
	 */
	public FactoryClasificador getClasificador() {
		return clasificador;
	}

	/**
	 * @param clasificador the clasificador to set
	 */
	public void setClasificador(FactoryClasificador clasificador) {
		this.clasificador = clasificador;
	}

	/**
	 * @return the comparadorAnidacion
	 */
	public FactoryComparador getComparadorAnidacion() {
		return comparadorAnidacion;
	}

	/**
	 * @param comparadorAnidacion the comparadorAnidacion to set
	 */
	public void setComparadorAnidacion(FactoryComparador comparadorAnidacion) {
		this.comparadorAnidacion = comparadorAnidacion;
	}

}
